package com.how2java.springboot.service;

import com.how2java.springboot.po.OrderMainPO;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 订单同步核心服务接口
 * 定义订单同步、保存、查询等核心操作
 */
@Service
public interface OrderService {

    /**
     * 同步近1天多的订单数据（实际查询近2天，确保覆盖所有更新）
     */
    void syncRecentOrders();

    /**
     * 保存单个订单（包含主表和订单项子表）
     * 采用事务保证数据一致性，存在则更新，不存在则插入
     *
     * @param orderMainPO 订单主表PO对象
     */
    void saveOrder(OrderMainPO orderMainPO);

    /**
     * 批量保存订单列表
     *
     * @param orderList 订单主表PO列表
     */
    void batchSaveOrders(List<OrderMainPO> orderList);

}